/**
 * Author(s): xuming.Wong <xuming.Wong@gmail.com>
 */

#ifndef __PQ_Boid_H__
#define __PQ_Boid_H__

#include "Unit.h"

namespace PQClient
{
	class BoidController;
	/*This class represent player selected character.
	*/
	class Boid
		: public Unit
	{
	public:
		static const Ogre::Real FISH_SCALE;

		Boid(PQEngine::SceneObject* scene, Ogre::String unitName,Ogre::String fileName);
		//update the unit
		void update(float deltaT);
		MeshObject* getMeshObject();
		void changeRightWeapon();
		void changeLeftWeapon();

		void setVisible(bool show);

		void loadMesh();
		void setupEquipment();
		void Boid::keepOnGround();
	protected:
		Ogre::RaySceneQuery* _rayQuery;
		

		BoidController* _controller;//control the motion of the boid
		MeshObject* _bodyMeshObj;
		bool _show;
		Ogre::String _fileName;//mesh file name


	};
}
#endif

